In many applications, it is often required to transmit confidential information from one point to another. Specifically, when such information is transmitted over insecure communication channels, it is important to ensure that the information is not susceptible to being intercepted and/or tampered with.
Steganography refers to the science of concealing information using various techniques to allow important messages to be securely carried over insecure communications channels. Steganographic techniques have, in the past, been primarily associated with, for example, invisible inks, messages sent via telephone line noise, and red cellophane such as that used in games to reveal information hidden in a red-blue block. More recently, steganographic techniques have been used in the computer environment to hide information in graphical images, sound files, text files, or other media.
Steganography achieves confidentiality by camouflaging the confidential information inside a host data set such as an image. The confidential information is protected from intruders since it is difficult to identify or even recognize the information directly from the host data set. An authorized person may possess a key that permits the confidential information to be extracted from the host data set.
One important characteristic of a steganography process is imperceptibility. In other words, the existence of stenographically hidden information is not readily apparent from a review of the carrying media (such as an image). The media in which the message is hidden generally does not draw any attention to itself in a way that makes an intruder suspicious of hidden content. Thus, steganography hides information inside other messages in a way that does not allow detection.
An example steganography technique is described by Chi-Kwong Chan and L. M. Cheng in the paper “Hiding data in images by simple LSB substitution”. The technique describes a data hiding scheme by simple least significant bit (LSB) substitution. An optimal pixel adjustment process (OPAP) is applied to the stego-image obtained by the simple LSB substitution method. This technique improves the image quality of the stego-image while reducing the computational complexity. In this method, the OPAP tries to vary the value of most significant bit (MSBi) next to kth bit up to which the secret data is embedded.
Another LSB based technique is described by Cheng-Hsing Yang in the paper “Inverted pattern approach to improve image quality of information hiding by LSB substitution”. The technique is called the inverted pattern (IP) LSB substitution approach and is known to improve the quality of the stego-image. Each section of the secret image is determined to be inverted or not inverted before it is embedded. The decisions are recorded for the purpose of extracting data and the pattern can be seen as a secret key or as extra data to be re-embedded. However, since both techniques described above uses simple raster scans, the stego-image becomes easy to decrypt.
Another approach is described by Niels Provos and Peter Honeyman in the paper “Hide and Seek: An Introduction to Steganography”. The paper describes a hide and seek software technique that randomly selects pixels in an image for embedding secret data and thus generating a stego-image. In addition, a stego key and a secure hash function are used to generate a sequence of unique pixel addresses for embedding. However, in these random approaches all pixels of the image are not used for hiding secret data which in turn affect the payload.